/*************************************************************************
    > File Name    : Acceptor.h
    > Author       : LiuLei
    > Mail         : 2261459486@qq.com 
    > Created Time : 2022年11月25日 星期五 10时45分40秒
 ************************************************************************/

#ifndef __LL_ACCEPTOR_H__
#define __LL_ACCEPTOR_H__

#include "Socket.h"
#include "InternetAddress.h"

class Acceptor
{
public:
    Acceptor(const string &ip, unsigned short port);
    ~Acceptor();

    void ready();                                       //进行Acceptor对象的准备工作
    int accpet();
    int getSocketFd() const;

private:
    void setReuseAddr();
    void setReusePort();
    void bind();
    void listen();

private:
    Socket              _listenSocket;
    InternetAddress     _serverAddr;
};

#endif
